Echo canceller employing dual-H architecture having split adaptive gain settings

ABSTRACT

An echo canceller circuit is set forth. The echo canceller circuit includes a digital filter having adaptive tap coefficients to simulate an echo response occurring during a call. The adaptive tap coefficients are updated during the call using a Mean Squares process. A tap energy detector is also employed. The tap energy detector identifies and divides groups of taps having high energy from groups of taps having low energy. The high energy tap groups are smaller in number than the low energy tap groups. The high energy tap groups are adapted separately from the low energy tap groups using the Least Squares process. Still further, the high energy tap groups may be adapted using an adaptive gain constant a while the low energy tap groups are adapted using an adaptive gain constant a′, wherein a&gt;a′.

CROSS-REFERENCE TO RELATED APPLICATIONS

The following applications, filed on even date, herewith, areincorporated by reference: Ser. No. 08/970,230, “Echo CancellerEmploying Dual-H Architecture Having Improved Coefficient Transfer”;Ser. No. 08/971,116, “Echo Canceller Employing Dual-H ArchitectureHaving Improved Double-Talk Detection”; Ser. No. 08/970,228, “EchoCanceller Employing Dual-H Architecture Having Improved Non-Linear EchoPath Detection”; Ser. No. 08/970,874, “Echo Canceller Employing Dual-HArchitecture Having Variable Adaptive Gain Settings”; Ser. No.08/970,639, “Echo Canceller Employing Dual-H Architecture HavingImproved Non-Linear Processor.”

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

BACKGROUND OF THE INVENTION

Long distance telephone facilities usually comprise four-wiretransmission circuits between switching offices in different localexchange areas, and two-wire circuits within each area connectingindividual subscribers with the switching office. A call betweensubscribers in different exchange areas is carried over a two-wirecircuit in each of the areas and a four-wire circuit between the areas,with conversion of speech energy between the two and four-wire circuitsbeing effected by hybrid circuits. Ideally, the hybrid circuit inputports perfectly match the impedances of the two and four-wire circuits,and its balanced network impedance perfectly matches the impedance ofthe two-wire circuit. In this manner, the signals transmitted from oneexchange area to the other will not be reflected or returned to the onearea as echo. Unfortunately, due to impedance differences whichinherently exist between different two and four-wire circuits, andbecause impedances must be matched at each frequency in the voice band,it is virtually impossible for a given hybrid circuit to perfectly matchthe impedances of any particular two and four-wire transmission circuit.Echo is, therefore, characteristically part of a long distance telephonesystem.

Although undesirable, echo is tolerable in a telephone system so long asthe time delay in the echo path is relatively short, for example,shorter than about 40 milliseconds. However, longer echo delays can bedistracting or utterly confusing to a far end speaker, and to reduce thesame to a tolerable level an echo canceller may be used toward each endof the path to cancel echo which otherwise would return to the far endspeaker. As is known, echo cancellers monitor the signals on the receivechannel of a four-wire circuit and generate estimates of the actualechoes expected to return over the transmit channel. The echo estimatesare then applied to a subtractor circuit in the transmit channel toremove or at least reduce the actual echo.

In simplest form, generation of an echo estimate comprises obtainingindividual samples of the signal on the receive channel, convolving thesamples with the impulse response of the system and then subtracting, atthe appropriate time, the resulting products or echo estimates from theactual echo on the transmit channel. In actual practice generation of anecho estimate is not nearly so straightforward.

Transmission circuits, except those which are purely resistive, exhibitan impulse response has amplitude and phase dispersive characteristicsthat are frequency dependent, since phase shift and amplitudeattenuation vary with frequency. To this end, a suitable known techniquefor generating an echo estimate contemplates manipulatingrepresentations of a plurality of samples of signals which cause theecho and samples of impulse responses of the system through aconvolution process to obtain an echo estimate which reasonablyrepresents the actual echo expected on the echo path. One such system isillustrated in FIG. 1.

In the system illustrated in FIG. 1, a far end signal x from a remotetelephone system is received locally at line 10. As a result of thepreviously noted imperfections in the local system, a portion of thesignal x is echoed back to the remote site at line 15 along with thesignal v from the local telephone system. The echo response isillustrated here as a signal s corresponding to the following equation:

s=h*x

where h is the impulse response of the echo characteristics. As such,the signal sent from the near end to the far end, absent echocancellation, is the signal y, which is the sum of the telephone signalv and the echo signal s. This signal is illustrated as y at line 15 ofFIG. 1.

To reduce and/or eliminate the echo signal component s from the signaly, the system of FIG. 1 uses an echo canceller having an impulseresponse filter {overscore (h)} that is the estimate of the impulse echoresponse h. As such, a further signal {overscore (s)} representing anestimate of echo signal s is generated by the echo canceller inaccordance with the following equation:

{overscore (s)}={overscore (h)}*x

The echo canceller subtracts the echo estimate signal {overscore (S)}from the signal y to generate a signal e at line 20 that is returned tothe far end telephone system. The signal e thus corresponds to thefollowing equation:

e=s+v−{overscore (s)}≈v

As such, the signal returned to the far end station is dominated by thesignal v of the near end telephone system. As the echo impulse response{overscore (h)} more closely correlates to the actual echo response h,then {overscore (S)} more closely approximates s and thus the magnitudeof the echo signal component s on the signal e is more substantiallyreduced.

The echo impulse response model {overscore (h)} may be replaced by anadaptive digital filter having an impulse response ĥ ;. Generally, thetap coefficients for such an adaptive response filter are found using atechnique known as Normalized Least Mean Squares adaptation.

Although such an adaptive echo canceller architecture provides the echocanceller with the ability to readily adapt to changes in the echo pathresponse h, it is highly susceptible to generating sub-optimal echocancellation responses in the presence of “double talk” (a conditionthat occurs when both the speaker at the far end and the speaker at thenear end are speaking concurrently as determined from the viewpoint ofthe echo canceller).

To reduce this sensitivity to double-talk conditions, it has beensuggested to use both a non-adaptive response and an adaptive responsefilter in a single echo canceller. One such echo canceller is describedin U.S. Pat. No. 3,787,645, issued to Ochiai et al on Jan. 22, 1974.Such an echo canceller is now commonly referred to as a dual-H echocanceller.

Although the dual-H echo canceller architecture of the '645 patentprovides substantial improvements over the use of a single filterresponse architecture, the '645 patent is deficient in many respects andlacks certain teachings for optimizing the use of such a dual-Harchitecture in a practical echo canceller system. For example, thepresent inventors have recognize that the adaptation gain used to adaptthe tap coefficients of the adaptive filter may need to be altered basedon certain detected conditions. These conditions include conditions suchas double-talk, non-linear echo response paths, high background noiseconditions, etc. The present inventors have recognized the problemsassociated with the foregoing dual-H architecture and have providedsolutions to such conditions.

BRIEF SUMMARY OF THE INVENTION

An echo canceller circuit is set forth. The echo canceller circuitincludes a digital filter having adaptive tap coefficients to simulatean echo response occurring during a call. The adaptive tap coefficientsare updated during the call using a Mean Squares or at least squaresprocess. A tap energy detector is also employed. The tap energy detectoridentifies and divides groups of taps having high energy from groups oftaps having low energy. The high energy tap groups are generally smallerin number than the low energy tap groups. The high energy tap groups areadapted separately from the low energy tap groups using the Mean Squaresprocess. Still further, the high energy tap groups may be adapted usingan adaptive gain constant a while the low energy tap groups are adaptedusing an adaptive gain constant a′, wherein a>a′.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of a conventional canceller.

FIG. 2 is a schematic block diagram of an echo canceller that operatesin accordance with one embodiment of the present invention.

FIG. 3 is a flow chart illustrating one manner of carrying outcoefficient transfers wherein the transfer conditions may be used toimplement double-talk detection in accordance with one embodiment of thepresent invention.

FIG. 4 is a flow chart illustrating a further manner of carrying outcoefficient wherein the transfer conditions may be used to implement thedouble-talk detection an accordance with one embodiment of the presentinvention.

FIG. 5 illustrates an exemplary solution surface for the adaptive filterwhereby the desired result is achieved at the solution matching the echoresponse of the channel.

FIG. 6 illustrates one manner of checking for various echo cancellerconditions and responding to these conditions using a change in theadaptive gain setting of the adaptive filter of the echo canceller.

FIG. 7 illustrates a typical linear echo path response for the ĥ ;filter and one manner of identifying and separating one or more groupsof high energy taps from one or more groups of low energy taps forseparate adaptation.

FIG. 8 illustrates one manner of implementing an echo canceller systememploying the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2 illustrates one embodiment of a dual-h echo canceller suitablefor use in implementing the present invention. As illustrated, the echocanceller, shown generally at 25, includes both a non-adaptive filter{overscore (h)} and an adaptive filter ĥ ; to model the echo response hEach of the filters {overscore (h)} and ĥ ; are preferably implementedas digital filters, such as finite impulse response (FIR) filterscomprising a plurality of taps each having a corresponding tapcoefficient. This concept may be extended to IIR filters as well. If FIRfilters are used, the duration of each of the FIR filters should besufficient to cover the duration of the echo response of the channel inwhich the echo canceller 25 is disposed.

The output of the non-adaptive filter {overscore (h)} is available atthe line 30 while the output of the adaptive filter ĥ ; is available atline 35. Each of the signals at lines 30 and 35 are subtracted from thesignal-plus-echo signal of line 40 to generate echo compensated signalsat lines 50 and 55, respectively. A switch 45, preferably a softwareswitch, may be used to selectively provide either the output signal atthe line 50 or the output signal at line 55 to the echo canceller outputat line 60. The switch 45 may be used to provide the echo compensationbased on the ĥ ; filter during convergence and then be switched toprovide the echo compensation based on the {overscore (h)} filter afterconvergence. Further, the switch 45 is directed to provide the echocompensation based on the {overscore (h)} filter in response to thedetection of a double-talk condition.

A transfer controller 65 is used to transfer the tap coefficients offilter ĥ ; to replace the tap coefficients of filter {overscore (h)}. Asillustrated, the transfer controller 65 is connected to receive a numberof system input signals. Of particular import with respect to thepresent invention, the transfer controller 65 receives thesignal-plus-echo response y and each of the echo canceller signals{overscore (e)} and ê ; at lines 50 and 55, respectively. The transfercontroller 65 is preferably implemented in the software of one or moredigital signal processors used to implement the echo canceller 25.

As noted above, the art is substantially deficient of teachings withrespect to the manner in which and conditions under which a transfer oftap coefficients from ĥ ; to {overscore (h)} is to occur. The presentinventors have implemented a new process and, as such, a new echocanceller in which tap coefficient transfers are only made by thetransfer controller 65 when selected criterion are met. The resultingecho canceller 25 has substantial advantages with respect to reduceddouble-talk sensitivity and increased double-talk detection capability.Further, it ensures a monotonic improvement in the estimates {overscore(h)}.

The foregoing system uses a parameter known asecho-return-loss-enhancement (ERLE) to measure and keep track of systemperformance. Two ERLE parameter values are used in the determination asto whether the transfer controller 65 transfers the tap coefficientsfrom ĥ ; to {overscore (h)}. The first parameter, E, is defined in thefollowing manner:

{overscore (E)}={fraction (y/{overscore (e)})}

Similarly, the parameter Ê ; is defined as follows:

Ê ;={fraction (y/{circumflex over (e)})}

Each of the values Ê ; and {overscore (E)} may also be averaged over apredetermined number of samples to arrive at averaged Ê ; and {overscore(E)} values used in the system for the transfer determinations.

FIG. 3 illustrates one manner of implementing the echo canceller 25using the parameters Ê ; and {overscore (E)} to control tap coefficientstransfers between filter ĥ ; to {overscore (h)}. As illustrated, theecho canceller 25 provides a default {overscore (h)} set of coefficientsat step 80 during the initial portions of the call. After the tapcoefficients values for {overscore (h)} have been set, a measure of{overscore (E)} is made at step 85 to measure the performance of the tapcoefficient values of filter {overscore (h)}.

After the initialization sequence of steps 80 and 85, or concurrenttherewith, the echo canceller 25 begins and continues to adapt thecoefficients of ĥ ; to more adequately match the echo response h of theoverall system. As noted in FIG. 3, this operation occurs at step 90.Preferably, the adaptation is made using a Normalized Least Mean Squaresmethod, although other adaptive methods may also be used (e.g., LMS andRLS).

After a period of time has elapsed, preferably, a predetermined minimumperiod of time, the echo canceller 25 makes a measure of Ê ; at step 95.Preferably, this measurement is an averaged measurement. At step 100,the echo canceller 25 compares the value of Ê ; with the value of{overscore (E)}. If the value of Ê ; is greater than the value of{overscore (E)}, the tap coefficients of filter ĥ ; are transferred toreplace the tap coefficients of filter {overscore (h)} at step 105. Ifthis criterion is not met, however, the echo canceller 25 will continueto adapt the coefficients of the adaptive filter ĥ ; at step 90,periodically measure the value of Ê ; at step 95, and make thecomparison of step 100 until the condition is met.

Although not illustrated, other transfer conditions may be imposed inaddition to the foregoing. For example, the echo canceller may impose arequirement that a far end signal exist before a transfer may occur.Additionally, transfers may be inhibited during a double-talk condition.Further conditions may also be imposed based on system requirements.

If the echo canceller 25 finds that Ê ; is greater than {overscore (E)},the above-noted transfer takes place. Additionally, the echo canceller25 stores the value of Ê ; as a value E_(max). This operation isdepicted at step 110 of the FIG. 3. The value of E_(max) is thus themaximum value of ERLE that occurs over the duration of the call and atwhich a transfer has taken place. This further value is used thereafter,in addition to the Ê ; and {overscore (E)} comparison, to controlwhether the tap coefficients of ĥ ; are transferred by the transfercontroller 65 to replace the tap coefficients of {overscore (h)}. Thisfurther process is illustrated that steps 115, 120, and 125 of FIG. 3.In each instance, the tap coefficient transfer only occurs when both ofthe following two conditions are met: 1) Ê ; is greater than the current{overscore (E)}, and 2) Ê ; is greater than any previous value of{overscore (E)} used during the course of the call. (Ê ; is greater thanE_(max)). Each time that both criteria are met, the transfer controller65 of echo canceller 25 executes the tap coefficient transfer andreplaces the previous E_(max) value with the current Ê ; value forfuture comparison.

Requiring that Ê ; be greater than any {overscore (E)} value used overthe course of the call before the coefficient transfer takes place hastwo beneficial and desirable effects. First, each transfer is likely toreplace the prior tap coefficients of filter {overscore (h)} with abetter estimate of the echo path response. Second, this transferrequirement increases the double-talk protection of the echo cancellersystem. Although it is possible to have positive ERLE Ê ; duringdouble-talk, the probability that {overscore (E)} is greater thanE_(max) during double-talk decreases as the value of E_(max) increases.Thus an undesirable coefficient transfer during double-talk becomesincreasingly unlikely as the value of E_(max) increases throughout theduration of the call.

The echo canceller 25 may impose both an upper boundary and a lowerboundary on the value of E_(max). For example, E_(max) may have a lowerbounded value of 6 dB and an upper bounded value of 24 dB. The purposeof the lower bound is to prevent normal transfers during double-talkconditions. It has been shown in simulations using speech inputs thatduring double-talk, a value of greater than 6 dB ERLE was a very lowprobability event, thus making it an appropriate value for the initialvalue of E_(max). The upper bound on E_(max) is used to prevent aspuriously high measurement from setting E_(max) to a value at whichfurther transfers become impossible.

The value of E_(max) should be set to, for example, the lower boundvalue at the beginning of each call. Failure to do so will prevent tapcoefficient transfers on a new call until the echo cancellation responseof the echo canceller 25 on the new call surpasses the quality of theresponse existing at the end of the prior call. However, this criterionmay never be met during the subsequent call, thereby causing the echocanceller 25 to operate using sub-optimal tap coefficients values.Resetting the E_(max) value to a lower value increases the likelihoodthat a tap coefficient transfer will take place and, thereby, assists inensuring that the {overscore (h)} filter uses tap coefficients for echocancellation that more closely correspond to the echo path response ofthe new call.

One manner of implementing the E_(max) value change is illustrated inthe echo canceller operations flow-chart of FIG. 4. When all transferconditions are met except Ê ; greater than E_(max). and this conditionpersists for a predetermined duration of time, the echo canceller 25will reset the E_(max). value to, for example, the lower bound value. Inthe exemplary operations shown in FIG. 4, the echo canceller 25determines whether Ê ; is greater than the lower bound of E_(max) atstep 140 and less than the current value of E_(max) at step 145. If bothof these condition remain true for a predetermined period of time asdetermined at step 150, and all other transfer criterion have been met,the echo canceller 25 resets the E_(max) value to a lower value, forexample, the lower bound of the E_(max). value, at step 155. Thislowering of the E_(max) value increases the likelihood of a subsequenttap coefficient transfer.

Choosing values for the lower and upper bound of E_(max) other than 6 dBand 24 dB, respectively, is also possible in the present system.Choosing a lower bound of E_(max) smaller than 6 dB provides for arelatively prompt tap coefficient transfer after a reset operation or anew call, but sacrifices some double-talk protection. A value greaterthan 6 dB, however, inhibits tap coefficient transfer for a longerperiod of time, but increases the double-talk immunity of the echocanceller. Similarly, varying the value of the predetermined wait time Tbefore which E_(max) is reset may also be used to adjust echo cancellerperformance. A shorter predetermined wait time T produces fasterreconvergence transfers, but may sacrifice some double-talk immunity.The opposite is true for larger predetermined wait time values.

A further modification of the foregoing echo canceller system relates tothe value stored as E_(max) at the instant of tap coefficient transfer.Instead of setting E_(max) equal to the Ê ; value at the transferinstant, E_(max) may be set to a value equal to the value of Ê ; minus aconstant value (e.g., one, three, or 6 dB). At no time, however, shouldthe E_(max) value be set to a value that is below the lower bound valuefor E_(max). Additionally, a further condition may be imposed in that anew softened E_(max) is not less than the prior value of E_(max). Theforegoing “softening” of the E_(max) value increases the number oftransfers that occur and, further, provides more decision-making weightto the condition of Ê ; being larger than {overscore (E)}. Furtherdetails with respect to the operation of the echo canceller coefficienttransfer process are set forth in the co-pending patent applicationtitled “ECHO CANCELLER HAVING THE IMPROVED TAP COEFFICIENT TRANSFER”,(Ser. No. 08/970,230) filed on even date herewith.

Preferably, the adaptive filter ĥ ; uses a Normalized Least Mean Square(NLMS) adaptation process to update its tap coefficients. In accordancewith the process, coefficients are adapted at each time n for each tapm=0, 1, . . . , N−1 in accordance with the following equation:${{{\hat{h}}_{n + 1}(m)} = {{{{\hat{h}}_{n}(m)} + {\frac{a_{n}}{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}}e_{n}x_{n - m}\quad {for}\quad m}} = 0}},1,\ldots \quad,{N - 1}$

where ĥ ;_(n)(m) is the m^(th) tap of the echo canceller, x_(n) is thefar-end signal at time n, e_(n) is the adaptation error of time n, anda_(n) is the adaptation gain at time n.

It is also possible to use the NLMS adaptive process can to adaptcoefficients a D.C. tap, h_(dc). If so desired, the above equation inmay be modified to the following:${{{\hat{h}}_{n + 1}(m)} = {{{{\hat{h}}_{n}(m)} + {\frac{a_{n}}{{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}} + x_{d\quad c}^{2}}e_{n}x_{n - m}\quad {for}\quad m}} = 0}},1,\ldots \quad,{N - 1}$

Additionally, the D.C. tap may be adapted in accordance with thefollowing equation:${{{\hat{h}}_{d\quad c_{n + 1}}(m)} = {{{{\hat{h}}_{d\quad c_{n}}(m)} + {\frac{a_{n}}{{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}} + x_{d\quad c}^{2}}e_{n}x_{d\quad c}\quad {for}\quad m}} = 0}},1,\ldots \quad,{N - 1}$

where X_(dc) is a constant.

The foregoing adaptation process will converge in the mean-square senseto the correct solution the echo path response h if 0<a_(n)<2. Fastestconvergence occurs when a=1. However, for 0<a<1, the speed ofconvergence to h is traded-off against steady-state performance.

FIG. 5 is provided to conceptualize the effect of the adaptation gain onthe filter response. The graph of FIG. 5 includes an error performancesurface 185 defined to be the mean square error between ĥ ; and h, to bea N+1 dimensional bowl. In the present case, N=2. Each (x,y) point inthe bowl is connected to a value z which corresponds to the mean-squareerror for each corresponding (x,y) value ĥ ; (of length N). The bottomof the bowl is the ĥ ; which produces the least mean-square error, i.e.h. The NLMS process iteratively moves the ĥ ; towards ĥ ; at the bottomof the performance surface as shown by arrow 190. When a=1, ĥ ; moves tothe bottom of the bowl most quickly, but once the bottom is reached, theadaptation process continues to bounce ĥ ; around the true h bottom ofthe bowl, i.e. E[ĥ ;]=h but ĥ ;≠h. If a small a is used, then thesteady-state error is smaller (ĥ ; will remain closer to h), but ĥ ;requires a longer time to descend to the bottom of the bowl, as eachstep is smaller.

In some cases, as the present inventors have recognized, the performancesurface will temporarily change. In such situations, it becomesdesirable to suppress the ĥ ; from following these changes. Thispresents a challenge to choose the best a for each scenario.

FIG. 6 illustrates operation of the echo canceller 25 in response tovarious detected scenarios. It will be recognized that the sequence ofdetecting the various conditions that is set forth in FIG. 6 is merelyillustrative and may be significantly varied. Further, it will berecognized that the detection and response to each scenario may beperformed concurrently with other echo canceller processes. Stillfurther, it will be recognized that certain detected scenarios and theircorresponding responses may be omitted.

In the embodiment of FIG. 6, the echo canceller 25 entertains whether ornot a double-talk condition exists at step 200. Double talk, as notedabove, is defined as the situation when both far-end and near-endtalkers speak at the same time during a call. In such a scenario, theadaptive error signal is so severely corrupted by the near-end speakerthat it is rendered useless. As such, if a double-talk condition isdetected, the echo canceller 25 responds by freezing the adaptationprocess at step 205, i.e., set a=0, until the double talk ceases.

There are several methods that the echo canceller 25 can use fordetecting a double-talk condition. One is to compare the power of thenear-end signal to the far-end signal. If the near-end power comes closeenough to the far-end power (“close enough” can be determined by thesystem designer, e.g. within 0 or 6 or 10 dB), then double talk can bedeclared. Another method is to compare the point-by-point magnitudes ofthe near-end and far-end signals. This search can compare the current|x| with the current |y|, the current |x| with the last several |y|, thecurrent |y| with the last several |x|, etc. |x| each case, the max |x|and |y| over the searched regions are compared. If$\frac{\max {y}}{\max {x}} > {{Double}\quad {Talk}\quad {Threshold}}$

where max |x| indicates the maximum |x| over the search region (|y| issimilarly defined), then a double-talk condition is declared.

A still further manner of detecting a double-talk condition is set forthin ECHO CANCELLER EMPLOYING DUAL-H ARCHITECTURE HAVING IMPROVED DOUBLETALK DETECTION (Ser. No. 08/971,116) the teachings of which are herebyincorporated by reference. As set forth in that patent application, adouble-talk condition is declared based on certain monitored filterperformance parameters.

It may be possible to further condition the double-talk declaration withother measurements. For example, the current Echo Return Loss (ERL) maybe used to set the Double Talk Threshold noted above herein. Theshort-term power of either the far-end, the near-end, or both, may alsobe monitored to ensure that they are larger than some absolute threshold(e.g. −50 dBm or −40 dBm). In this manner, a double-talk condition isnot needlessly declared when neither end is speaking.

Once a double-talk condition is declared, it may be desirable tomaintain the double-talk declaration for a set period time after thedouble talk condition is met. Examples might be 32, 64, or 96 msec.After the double-talk condition ceases to exist, the adaptive gain valuemay be returned to the value that existed prior to the detection of thedouble-talk condition, or to a predetermined return value.

At step 210, the echo canceller 25 determines whether a high backgroundnoise condition is present. A low level of constant background noise canenter from the near-end, for example, if the near-end caller is in anautomobile or an airport. Its effects are in some ways similar to thatof double-talk, as the near-end double-talk corrupts the adaptive errorsignal. The difference is that, unlike double talk, near-end backgroundnoise is frequently constant, thus setting a=0 until the noise ends isnot particularly advantageous. Also background noise is usually of lowerpower than double-talk. As such, it corrupts the adaptation process butdoes not render the resulting adapted coefficients unusable.

As illustrated at step 215, it is desirable to choose a gain 0<a<1, i.e.lower the gain from its fastest value of 1 when a high background noisecondition is present. While this will slow the adaptation time, thesteady state performance increases since the effects of noise-inducedperturbations will be reduced. In other words, the tap variance noise isreduced by lowering the adaptation gain a.

Preferably, the background noise is measured as a long-term measurementof the power of when the far-end is silent. As this measurementincreases, a decreases. One schedule for setting the adaptive gain a asa function of background noise level is set forth below.

Background Noise (dBm) a >−48 .125 >−54≧−48 .25 >−60≧−54 .5 <−60 1

It will be readily recognized that there are other schedules that wouldwork as well, the foregoing schedule being illustrative.

A further condition in which the adaptive gain may be altered from anotherwise usual gain value occurs when the adaptive filter ĥ ; isconfronted with a far-end signal that is narrow band, i.e. comprised ofa few sinusoids. In such a scenario, there are an infinite number ofequally optimal solutions that the LMS adaptation scheme can find. Thusit is quite unlikely that the resulting cancellation solution ĥ ; willproperly identify (i.e. mirror) the channel echo response h. Such asituation is referred to as under-exciting the channel, in that thesignal only provides information about the channel response at a fewfrequencies. The echo canceller 25 attempts to determine the existenceof this condition at step 220.

Consider a situation where the far-end signal varies between periods inwhich a narrow band signal is transmitted and wide band signal istransmitted. During the wide band signal periods, the ĥ ; filter shouldadapt to reflect the impulse response of the channel. However, when thenarrow band signal transmission period begins, the ĥ ; filter mayreadapt to focus on canceling the echo path distortion only at thefrequencies present in the narrow band signal. Optimizing a solution atjust a few frequencies is likely to give a different solution than wasfound during transmission of the wide band signal. As a result, anyworthwhile adaptation channel information gained during wide bandtransmission periods is lost and the ĥ ; filter requires another periodof adaptation once the wide band signal returns.

When the far-end signal is narrow band, the adaptation can and should beslowed considerably, which should discourage the tendency of thecoefficients to diverge. Specifically, when a narrow band signal isdetected, a may be upper-bounded by either 0.25 or 0.125. This operationis illustrated at step 225.

Narrow band signal detection may be implemented using a low orderpredictive filter (e.g., a fourth order predictive filter). Preferably,this filter is implemented in software executed by one or more digitalsignal processors used in the echo canceller system 25. If it is able toachieve a prediction gain of at least 3 to 6 dB (user defined), then itis assumed that the received signal is a narrow band signal.

An amplitude threshold for the far-end signal is also preferablyemployed in determining the existence of a narrow band signal. If thefar-end power is greater than −40 dBm, the current far-end sample issent to the low order predictive filter, which determines whether or notthe far-end signal is narrow band. If the far-end power is less than −40dBm, the predictive filter is re-initialized to zero.

A further scenario in which it is desirable to alter the gain of theadaptive filter ĥ ; is when the echo path response is non-linear. Thepresence of non-linearities in the echo path encourages constant minorchanges in the coefficients ĥ ; in order to find short-term optimalcancellation solutions. The detection of non-linearity of the echo pathresponse preferably proceeds in the manner set forth in ECHO CANCELLEREMPLOYING DUAL-H ARCHITECTURE HAVING IMPROVED NON-LINEAR ECHO PATHDETECTION Ser. No. 08/970,228) filed on even date herewith. The presenceof a non-linear echo path is determined that step 230.

In a non-linear echo path scenario, it is desirable to choose theadaptive gain constant a large enough that ĥ ; can track theseshort-term best solutions. However, choosing a=1 may be suboptimal inmost non-linear scenarios. This is due to the fact that the gain is toolarge and, thus, short-term solutions are “overshot” by the aggressiveadaptation effort. Accordingly, as shown at step 235, choosing a gainlower than 1 is preferable. Choosing a=0.25 was found to be the besttrade off between tracking and overshooting short term optimalsolutions. The gain constant a may be further reduced if largebackground noise is measured, as discussed above.

A still further scenario in which the adaptive gain may be variedrelates to the convergence period of the adaptive filter ĥ ;. As notedabove, a large gain constant a is desired during convergence periodswhile a smaller a is desired in steady state conditions after the filterhas converged. In other words, there seems little lost and perhaps somepotential gain to reduce a after an initial period of convergence iscompleted. This appears to be especially valuable if the long-termperformance is found to be substandard.

In view of the foregoing, the echo canceller 25 may implement a reducedgain mode in which an upper bound for the gain constant a is set at alower value than 1 (e.g., at either 0.25 or 0.125). This mode isdetected at step 240 and is entered at step 245 if the ERLE remainsbelow a predetermined threshold value (e.g., either 6 dB or 3 dB) aftera predetermined period of adaptation. The adaptation time is preferablyselected as a value between 100 to 300 msec. This amount of time willgenerally prevent the echo canceller 25 from entering the reduced gainmode during convergence periods. The reduced gain mode may optionally beexited if the study state ERLE increases above a certain threshold.

If the echo canceller does not enter the reduced gain mode at step 240,the gain constant a is preferably set or reset to a predetermined value.This operation is illustrated that step 250, where the gain constanta=1.

As discussed above, certain conditions can result in a lowering of thevalue of E_(max). This is described in connection with FIG. 4 above.Such an operation effectively results in a “soft reset” of the transferoperations. When this occurs, it may be desirable to clear all or someof the modes defined above and set the gain a to an initial value, forexample, 1. These operations are illustrated at steps 300 and 305.

Separate and apart from the foregoing adjustments of the gain constanta, the present inventors have recognized that it may be advantageous toadapt a subset of the coefficients of the ĥ ; filter with a higher gainand the remaining coefficients with a smaller gain. To understand themotivations for doing this, consider a scenario in which the echocanceller 25 must converge to a linear echo-path. Since some flat-delayis to be expected, the span of time covered by the coefficients of the ĥ; filter should be larger than the expected duration of the echo-pathresponse. As a result, several of the taps (and in many cases, themajority of the taps) of the ĥ ; filter will have an expected value ofzero to model the flat-delay while a small subset of the taps called“significant” taps will need to adjust very quickly in order to modelthe linear echo-path response.

In such a case, the convergence time is reduced when the “significant”taps are adapted separately from the smaller “flat-delay” taps. To seethis, note from the Normalized LMS set forth above, that the adaptationgain increases as the number of coefficients increase. If thesignificant taps are adapted separately, they will converge more quicklydue to the fact that the adaptation process is directed to a fewernumber of taps. Further, adaptation noise from all the flat-delay tapsis minimized when they are adapted separately from the significant tapsusing a smaller gain a′<a, where a′ is the gain for the flat delay tapsand a is the gain for the significant taps. Thus, splitting may behelpful in steady-state if there is significant background noise.

FIG. 7 illustrates an ĥ ; filter tap energy distribution for a typicallinear echo path. The echo canceller 25 divides the taps into windowsections, each window section preferably having the same number of taps.The echo canceller 25 then proceeds to determine which of the windowshas the largest amount of energy disposed therein. The windows havingthe largest amount of energy are tagged as being more significant thanother windows. The adaptive coefficients of the relatively few taggedwindows are adapted separate from adaptive coefficients of the largernumber of low energy, non-tagged windows. This naturally results infaster convergence of the coefficients of the tagged windows compared toconvergence of the coefficients of the tagged windows in a non-splitscenario. Still further, the adaptive coefficients of the tagged windowsmay be adapted using a higher gain constant a than the gain constant a′used to adapt the lower energy windows.

In accordance with a more specific embodiment of the split adaptationprocess, the echo processor 25 tags W sections of 8 contiguous tapseach, where W is the number in msec of the echo response, not includingflat-delay. Once chosen, these W*8 taps, or alternately W sections, arecollectively called the in-window taps. Taps are considered for taggingas windowed-taps in contiguous blocks of 8 taps, representing 1 msec.

The W*8 taps are approximately the W sections which have the greatestenergy. The tags are placed on the windows iteratively, that is, onceone section is tagged, a new search is conducted to find the next taggedsection. As an extension to the above, in order to encourage that theseW tags will lump together into not more than a few larger sections,which is in often desired, two steps are taken. First, a section whichimmediately follows a tagged section is biased in the large-energysearch by an additive or multiplicative constant, thus making it morelikely to be chosen. Second, when a section is tagged due to the abovesearch, one, two or more adjacent untagged sections are also tagged.

There are some scenarios in which it is undesirable to assume that sometaps are more significant than others. Two examples are non-linear echopath scenarios, and narrow bandwidth scenarios (e.g., data calls havingnarrow bandwidths of the signaling frequencies).

Echo cancellation on non-linear paths is accomplished by findingshort-term minimizations of the time-varying performance surface. Echocancellers for narrow bandwidth data calls need not properly identifythe echo impulse response in order to be effective. In these two cases,no subset of the taps should be assumed more or less significant, andthus splitting gives non-optimal results. Thus splitting should besuppressed for non-linear calls and data calls.

As will be readily recognized, the echo canceller of the presentinvention may be implemented in a wide range of manners. Preferably, theecho canceller system is implemented using one or more digital signalprocessors to carry out the filter and transfer operations.Digital-to-analog conversions of various signals are carried out inaccordance with known techniques for use by the digital signalprocessors.

FIG. 8 illustrates one embodiment of an echo canceller system, showngenerally at 700, that maybe used to cancel echoes in multi-channelcommunication transmissions. As illustrated, the system 700 includes aninput 705 that is connected to receive a multi-channel communicationsdata, such as a T1 transmission. A central controller 710 deinterleavesthe various channels of the transmission and provides them to respectiveconvolution processors 715 over a data bus 720. It is within theconvolution processors 715 that a majority of the foregoing operationstake place. Each convolution processor 715 is designed to process atleast one channel of the transmission at line 730. After eachconvolution processor 715 has processed its respective channel(s), theresulting data is placed on the data bus 720. The central controller 710multiplexes the data into the proper multichannel format (e.g., T1) forretransmission at line 735. User interface 740 is provided to setvarious user programmable parameters of the system

Numerous modifications may be made to the foregoing system withoutdeparting from the basic teachings thereof. Although the presentinvention has been described in substantial detail with reference to oneor more specific embodiments, those of skill in the art will recognizethat changes may be made thereto without departing from the scope andspirit of the invention as set forth in the appended claims.

What is claimed is:
 1. An echo canceller, comprising: a digital filtersimulating an echo response, said filter having a plurality ofcoefficients; and an adapter of said coefficients arranged to select Wgroups of one or more of said coefficients by significance beginningwith highest significance where W is two or more; identify at least asubset of said plurality of coefficients outside said W groups; andadapt the coefficients of said W groups separately from the coefficientsof said subset.
 2. An echo canceller, as claimed in claim 1, whereinsaid adapter is arranged to divide said coefficients into a plurality ofsections of one or more of said coefficients and wherein said adapter isfurther arranged to select said W groups within said plurality ofsections.
 3. An echo canceller, as claimed in claim 2, wherein saiddigital filter comprises a plurality of filter taps, wherein saidplurality of coefficients comprise a plurality of tap coefficientsassociated with said filter taps, and wherein said plurality of sectionseach comprises a plurality of tap coefficients associated withcontiguous taps of said filter taps.
 4. An echo canceller, as claimed inclaim 1, wherein said significance is determined by the amount of energyrepresented by said coefficients.
 5. An echo canceller, as claimed inclaim 1, wherein said adapter is arranged to select said W groups by aniterative process comprising: searching for and tagging by significanceone group of said W groups; and searching for and tagging a next groupof said W groups with the next most significance.
 6. An echo canceller,as claimed in claim 5, wherein said adapter is arranged to divide saidcoefficients into a plurality of sections of one or more of saidcoefficients, wherein said adapter is further arranged to select said Wgroups by said iterative process within said plurality of sections andwherein said adapter is arranged to bias a section adjacent said onegroup before searching for and tagging said next group.
 7. An echocanceller, as claimed in claim 1, wherein said digital filter comprisesa plurality of filter taps, wherein said plurality of coefficientscomprise a plurality of tap coefficients associated with said filtertaps, and wherein said W groups comprise separated groups of said tapcoefficients.
 8. An echo canceller, as claimed in claim 7, wherein saidW groups are separated by one or more of said filter taps unassociatedwith said W groups.
 9. An echo canceller, as claimed in claim 7, whereinsaid W groups comprise at least a few larger groups.
 10. An echocanceller, as claimed in claim 1, wherein said adapter is arranged toadapt the coefficients of said W groups separately from the coefficientsof said subset using a least squares process.
 11. An echo canceller, asclaimed in claim 1, wherein said adapter is arranged to adapt thecoefficients of said W groups separately from the coefficients of saidsubset using a normalized least mean square process.
 12. An echocanceller, as claimed in claim 1, wherein said adapter is arranged toadapt the coefficients of said W groups using a first gain coefficient aand is arranged to adapt the coefficients of the subset using a secondgain coefficient a′, where a>a′.
 13. An echo canceller, as claimed inclaim 1, wherein said adapter is arranged to inhibit the adapting of thecoefficients of said W groups separately from the coefficients of saidsubset in the presence of a nonlinear echo path.
 14. An echo canceller,as claimed in claim 1, wherein said digital filter receives a far endsignal and wherein said adapter is arranged to inhibit the adapting ofthe coefficients of said W groups separately from the coefficients ofsaid subset when said far end signal comprises a narrow band signal. 15.An echo canceller, as claimed in claim 1, wherein said digital filterreceives a far end signal, wherein said plurality of coefficientscomprise adaptive coefficients and wherein said digital filter simulatesan echo response, said canceller further comprising: a second digitalfilter receiving said far end signal and comprising non-adaptive tapcoefficients simulating an echo response; and a coefficient transfercontroller arranged to transfer said adaptive coefficients to replacethe non-adaptive tap coefficients in response to a condition.
 16. Amethod of processing a far end communication signal to improve thequality of a near end communication signal comprising: digitallyfiltering the far end communication signal to generate a filtered signalusing a plurality of filter coefficients; selecting W groups of one ormore of said coefficients by significance beginning with highestsignificance where W is two or more; identifying at least a subset ofsaid plurality of coefficients outside said W groups; adapting thecoefficients of said W groups separately from the coefficients of saidsubset; and combining the filtered signal with the near end signal. 17.A method, as claimed in claim 16, and further comprising dividing saidcoefficients into a plurality of sections of one or more of saidcoefficients and wherein said selecting W groups comprises selecting Wgroups within said plurality of sections.
 18. A method, as claimed inclaim 17, wherein said plurality of filter coefficients correspond to aplurality of filter taps and comprise a plurality of tap coefficientsassociated with said filter taps, and wherein said plurality of sectionseach comprises a plurality of said tap coefficients associated withcontiguous taps of said filter taps.
 19. A method, as claimed in claim16, wherein said significance is determined by the amount of energyrepresented by said coefficients.
 20. A method, as claimed in claim 16,wherein said selecting W groups comprises an iterative processcomprising: searching for and tagging by significance one group of saidW groups; and searching for and tagging a next group of said W groupswith the next most significance.
 21. A method, as claimed in claim 20,and further comprising dividing said coefficients into a plurality ofsections of one or more of said coefficients, wherein said iterativeprocess comprises selecting W groups within said plurality of sections,and wherein said method further comprises biasing a section adjacentsaid one group before searching for and tagging said next group.
 22. Amethod, as claimed in claim 16, wherein said filter coefficientscorrespond to a plurality of filter taps and comprise a plurality of tapcoefficients associated with said filter taps, and wherein said W groupscomprise separated groups of said tap coefficients.
 23. A method, asclaimed in claim 22, wherein said W groups are separated by one or moreof said filter taps unassociated with said W groups.
 24. A method, asclaimed in claim 22, wherein said W groups comprise at least a fewlarger groups.
 25. A method, as claimed in claim 16, wherein saidadapting comprises adapting the coefficients of said W groups separatelyfrom the coefficients of said subset using a least squares process. 26.A method, as claimed in claim 16, wherein said adapting comprisesadapting the coefficients of said W groups separately from thecoefficients of said subset using a normalized least mean squareprocess.
 27. A method, as claimed in claim 16, wherein said adaptingcomprises adapting the coefficients of said W groups using a first gaincoefficient a and adapting the coefficients of the subset using a secondgain coefficient a′, where a>a′.
 28. A method, as claimed in claim 16,and further comprising inhibiting the adapting of the coefficients ofsaid W groups separately from the coefficients of said subset in thepresence of a nonlinear echo path.
 29. A method, as claimed in claim 16,and further comprising inhibiting said adapting the coefficients of saidW groups separately from the coefficients of said subset in the presenceof a far end signal comprising a narrow band signal.
 30. A method, asclaimed in claim 16, wherein said digitally filtering comprisessimulating an echo response of said far end communication signal.
 31. Amethod, as claimed in claim 16, wherein said combining comprisessubtracting said filtered signal from said near end communicationsignal.
 32. A method, as claimed in claim 16, wherein said plurality offilter coefficients comprise adaptive coefficients and wherein saiddigitally filtering comprises simulating an echo response, said methodfurther comprising: digitally filtering said far end signal to generatea second filtered signal using a plurality of non-adaptive coefficientssimulating an echo response; and transferring said adaptive coefficientsto replace the non-adaptive coefficients in response to a condition. 33.A method for processing coefficients in an echo canceller, comprising:dividing the coefficients into a plurality of groups of one or more ofthe coefficients; ordering the plurality of groups according tosignificance where an order of the groups may be non-contiguous;identifying a first plurality of groups from the plurality of groupswith a highest significance; identifying a second plurality of groupsfrom the plurality of groups and outside the first plurality of groups;and adapting the coefficients in the first plurality of groupsseparately from the coefficients of the second plurality of groups. 34.A method for processing coefficients in an echo canceller, comprising:dividing the coefficients into a plurality of groups of one or more ofthe coefficients; identifying a first plurality of groups from theplurality of groups with a highest significance where the firstplurality of groups may be non-contiguous; identifying a secondplurality of groups from the plurality of groups and outside the firstplurality of groups; and adapting the coefficients in the firstplurality of groups separately from the coefficients of the secondplurality of groups.